#include "ListaIdentificadores.h"

ListaIdentificadores::ListaIdentificadores()
{
}

void ListaIdentificadores::InsereLista(string mPalavra, int mT)
{
	NoLista mAux;
	mAux.mTipo = mT;
	mAux.mToken = mPalavra;
	//insere no vetor
	this->mNo.push_back(mAux);	

	
}

void ListaIdentificadores::mostra()
{
	for ( int i = 0 ; i < mNo.size() ; i++ )
	{
		NoLista   aux2 = this->mNo.at(i);
		cout<<aux2.mToken<<"--"<<aux2.mTipo<<endl;
	}
}

int ListaIdentificadores::RetTipo()
{
	//retorna o tipo do identificador na lista
	NoLista aux = this->mNo.front();
	return aux.mTipo;
}

void ListaIdentificadores::pop()
{
	//retira do inicio da lista
	vector<NoLista>::iterator inicio = mNo.begin();
	mNo.erase(inicio);
}

string ListaIdentificadores::RetToken()
{
	//retorna o token na lista
	NoLista aux = this->mNo.front();
	return aux.mToken;

}

int ListaIdentificadores::RetNexTipo()
{
	//retorna o proximo tipo na lista
	NoLista aux = this->mNo.at(1);
	return aux.mTipo;
}

string ListaIdentificadores::RetNexToken()
{
	//retorna o proximo token na lista
	NoLista aux = this->mNo.at(1);
	return aux.mToken;
	
}
bool ListaIdentificadores::Empty()
{
	this->mNo.empty();
}

ListaIdentificadores::~ListaIdentificadores()
{
}
